The internet has become an increasingly important information source for computer users today. As the amount of information accessible via the internet continues to grow rapidly, the importance of search-engine technology continues to increase. Users demand and expect relevant, accurate search results in response to general search queries entered into web-based search engines. A multitude of search engine algorithms exist for indexing and searching the vast array of content available on the web. But, current search engine interfaces do not take advantage of much of the structure that is often present in web content today.
Many web pages contain some type of structure, as opposed to consisting of just ad hoc unstructured text. For example, many web pages contain similar fields for attributes such as product prices, titles, publication dates, author names, etc. Some web pages are structured based on formal schemas that have specified attributes. In some cases, web pages may even reference particular formal schemas. Other web pages, though not adhering to a formal schema, share common attributes because they are geared towards a common purpose. For example, web pages that exist for the purpose of selling products will often have a product name attribute and a price attribute for each product listed. Web pages published for the purpose of selling automobiles might also include the attributes of year, model, color, and mileage.
If search engines tapped into existing structural elements in web pages, an additional dimension of information could be provided about a list of search results. Further, a list of search results could be refined and narrowed by displaying common attributes located by the search engine and allowing the user to filter the search results based on different values associated with each attribute for each search result. For example, if a search engine identified price as a common attribute amongst relevant search results, a price-range filter could be displayed to the user to allow him or her to filter the results based on various price ranges inherent in the search results. Likewise, any structured information present in web pages could be used to provide the user with similar search-refinement options.
Currently, certain specialized search engines are available, such as those for searching shopping content or news content, but these search engines require a user to initially decide to limit their search to a particular type of content. And, often, these search engines have web pages specifically published to them in a particular format to facilitate structured searches. But, most user searches performed today continue to be unstructured queries. As such, a way of responding to unstructured search queries by automatically providing search-refinement options based on structure present in a set of search results is needed.